Callback functies
zie ook
Diogo Spínola, JavaScript - from callbacks to async/await, 31 augustus 2017
The What, Why and How of async/await in JavaScript video, Fun Fun Function, 14 augustus 2017
Beschrijving
Hier volgt een voorbeeld van een functie die twee functies als parameters accepteert, ze uitvoert, en de som retourneert van de uitkomst van elk van hen:
function uitvoerenSom(a, b) { return a() + b(); }
We definiëren vervolgens twee eenvoudige extra functies volgens het functiedeclaratie patroon. Voor het gemak retourneren die alleen hardgecodeerde waarden:
function een() { return 1; } function twee() { return 2; }
Je kan die twee functies als parameters doorgeven aan uitvoerenSom():
uitvoerenSom(een, twee); 3
Je kan ook anonieme functies (functie-expressies) als parameters aan een functie doorgeven. In plaats van van een() en twee(), kan je gewoon het volgende doen:
uitvoerenSom( function () {return 1; }, function () {return 2; } ); 3
Wanneer je een functie A doorgeeft aan een andere functie B en B voert A uit, wordt A een callback functie genoemd. Als A geen naam heeft, kun dan je zeggen dat het een anonieme callback functie is.
Waarvoor dienen callback functies?
Enkele voorbeelden zullen de voordelen van callback-functies duidelijk maken:
- je kan functies als argumenten doorgeven zonder een naam te moeten geven en dat wat betekent dat er minder variabelen rondhangen;
- je kan de verantwoordelijkheid van het aanroepen van een functie delegeren aan een andere functie en dat betekent dat je minder code moet schrijven;
- ze kunnen de prestaties verbeteren;